﻿/******************************************************************************

  Copyright (C), 2016-2026, DCN Co.,  Ltd.

 ******************************************************************************
  File Name     : modbus_parse.h
  Version       : Initial Draft
  Author        : wuquanwei
  Created       : 2018/7/17
  Last Modified :
  Description   : 电总协议
  Function List :
  History       :
  1.Date        : 2018/7/17
    Author      : wuquanwei
    Modification: Created file

******************************************************************************/
#ifndef __PMBUS_PARSE_H_
#define __PMBUS_PARSE_H_


#include <stdio.h>
#include <queue>
#include <iostream>
#include <string>

#include "common_func.h"


typedef struct PmbusMsgHead
{
    uint8_t  packFlag;
    uint8_t  ver;
    uint8_t  addr;
    uint8_t  cid1;    //控制标识码（UPS模块标识码为AAH）
    uint8_t  cid2;    //命令信息：控制标识码（数据活动作类型描述） 相应信息：返回码RTN
    uint8_t  length[2];  //INFO字节长度（包括LENID和LCHKSUM），
    uint8_t  info[0]; //命令信息：控制数据信息COMMAND INFO,应答信息：应答数据信息DATA INFO;其DATAINFO字段首先为一标示字节DATAFLAG
	//crc16
}__attribute__((packed))PmbusMsgHeadSt;



void pmbus_package_cmd(uint8_t ver, uint8_t addr, uint8_t cid1, uint8_t cid2, std::string &msg, const std::string &data="");
//void process_strlist_value(int statAddr, const std::string & data, struct device *dev,std::queue<struct note> *pnote);












#endif

